import { createRouter, createWebHistory } from "vue-router"

import routes from "./routes"

const router = createRouter({
    history: createWebHistory(),
    routes,
    scrollBehavior(to, from, savedPosition) {
        if (savedPosition) {
            /* 这是一个位置对象 {top:xxx,left:xxx} 表明要滚动到的位置 */
            return savedPosition
        }
        if (to.hash) {
            return {
                el: to.hash,
                behavior: "smooth", //加这句 会smooth地滚动到位置,而不是突然跳过去
                top: 0 /* 想对于上面hash元素的偏移量 */,
            }
        } else {
            return { top: 0 }
        }
    },
})

router.afterEach((to, from) => {
    const toDepth = to.path.split("/").length
    const fromDepth = from.path.split("/").length
    to.meta.transitionName = toDepth < fromDepth ? "slide-right" : "slide-left"
})

export default router
